#define D2D_INPUT_COUNT 1
//设置指定纹理的采样模式为复杂
#define D2D_INPUT1_COMPLEX 
//指示着色器函数调用使用场景位置值的帮助器方法
#define D2D_REQUIRES_SCENE_POSITION
//hlsl帮助程序库
#include "d2d1effecthelpers.hlsli"




float2 pos;
float amount =0.1;
int type =1;
float2 size;

float4 getDirectionColor(in float i,in float amount  ,in float2 cp){



   float  	a = i/25*amount*2*3.14;
   float2 temp = cp-pos;
	float2 usePos =pos+ float2(temp.x*cos(a)-temp.y*sin(a),temp.x*sin(a)+temp.y*cos(a));
   usePos.x = usePos.x<0?0:usePos.x>size.x?size.x:usePos.x;
   usePos.y = usePos.y<0?0:usePos.y>size.y?size.y:usePos.y;
            return D2DSampleInputAtPosition(0,usePos).rgba;
}

D2D_PS_ENTRY(main){
   //获取当前像素在屏幕上的位置 (绝对位置)
   float2 cp =D2DGetScenePosition().xy;
      //获取当前像素
   float4 color = D2DGetInput(0);
   if(cp.x>size.x||cp.y>size.y)
      return color;
   //当前点到指定的点的距离
   float dist = distance(pos,cp);

   float4 colSum =color;
 
 for(int i = 1;i<25;i++){
    colSum +=getDirectionColor(i,amount,cp);
 }
      float4 col =colSum/25;
      col.a =color.a; 
      return col;
   
}